package javabook.ch06;
/*
 	<<super의 사용>>
	하위 클래스에 의해 가려진 상위 클래스의 멤버 변수나 메소드에 접근할 때
	     super.객체변수
	     super.메소드이름(매개변수)
	상위 클래스의 생성자를 호출할 때
      	super(매개변수)
 */

class D1 {
  int x = 1000;
  void display() {
    System.out.println("상위클래스 D1의 display() 메소드 입니다");
  }
}
class D2 extends D1 {
  int x = 2000;
  void display() {
    System.out.println("하위클래스 D2의 display() 메소드 입니다");
    }
  void write() {
    this.display();
    super.display();
    System.out.println("D2 클래스 객체의 x 값은 : " + x);
    System.out.println("D1 클래스 객체의 x 값은 : " + super.x);
  }
}
class InheritenceSuper {
  public static void main(String args[]) {
    D2 d = new D2();
    d.write();
  }
}

